/**
 * 
 */
package systole.persistence.brokersInterface;

import java.util.List;

import systole.domain.persons.Patient;
import systole.domain.persons.identityCard.IdentityCard;
import systole.exceptions.ExceptionDAO;

/**
 * @author jmj
 *
 */
public interface PatientBroker {
	
	/**
         * @param patient
         * @throws ExceptionDAO
	 */
	public void insert(Patient patient)throws ExceptionDAO  ;
	/**
         * @param patient
         * @throws ExceptionDAO
	 */
	public void update(Patient patient)throws ExceptionDAO ;
	/**
	 * @param id
         * @return The patient with id.
         * @throws ExceptionDAO
	 */
	public Patient getPatientById(Integer id)throws ExceptionDAO ;
	/**
         * @return The complete list of patients.
         * @throws ExceptionDAO 
	 */
	public List<Patient> getAllPatient()throws ExceptionDAO ;

       /**
        *
        * @param identityCard
        * @param id
        * @return if exist any person with the identity card
        * @throws ExceptionDAO
        */
        public boolean existCardIdentity(IdentityCard identityCard, Integer id)    throws ExceptionDAO ;

}
